function fitting = FitMagnetometerSensitivity(obj, signal, varargin)
    p=inputParser;
    p.addRequired('coeff', @isnumeric);
    p.parse(varargin{:});
    
    fitting.enbw = signal.getENBW(obj.bTrans.subscribed_signal{1, [1 2]});
    data = signal.getNodeData(1);

    psd=data.y/sqrt(fitting.enbw) / p.Results.coeff * 1e3;
    [ncount, edges] = histcounts(psd, 0:0.1:100); % count sensitivity fro 0 ~ 1000 pT/sqrt(Hz)
    [~, loc, wid ] = findpeaks(ncount, 'NPeaks', 1, 'SortStr', 'descend');
    
    fitting.meanSensitivity = mean( psd( psd<edges(ceil(loc+3*wid)) ) );
    fitting.fList = data.x;
    fitting.psd = psd;
    fitting.coeff = p.Results.coeff;
end

